package itMethod;
/*
1、方法怎么定义，语法机制是什么？
[访问修饰符]返回类型 方法名（形式参数列表）{
    方法体
}
注意：[]符号叫中括号，以上中括号里面的内容表示不是必须的，是可选的
     方法体由JAVA语句构成
     方法定义之后需要去调用，不调用是不会执行的
访问修饰符：不是必须的，是可选的。目前为止，统一写成：public static
返回值类型：可以是任何Java中合法的类型
数据类型包括：基本数据类型、引用数据类型
返回值类型可以是：byte、short、int、long、float、double、boolean、char、String
返回值一般是指一个方法执行之后的结果，结果通常是一个数据，所以被称为“值”，而且叫“返回值”
方法就是为了完成某种特定的功能，方法结束之后大部分都是有一个结果的，体现结果的一般都是数据，
数据得有类型，这个就是返回值类型
main{
//调用a方法
a();如果a方法执行结果之后有返回值，这个返回值就给main了
}
当一个方法执行结束之后不返回任何值的时候，返回值类型不能不写，必须写上void关键字，所以void表示
该方法执行结果结束后不返回任何结果
如果返回值类型不是void，那么在方法体执行结束的时候必须使用"return 值;"这样的语句来完成值的返回
return 值; 作用：返回方法的执行结果
只要有“return”关键字的语句执行，当前方法必然结束
如果返回值类型是void，那么在方法中不能有"return 值;"这样的语句。这样的语句是不允许出现的，但是
允许有“return；”语句， 作用是用来终止当前方法的
除了void之外，剩下的都必须有"return 值;"这样的语句
方法名：1、规则：字母、数字、_、$组成；不能是关键字；不能是数字开头
       2、规范：见名之以；遵循驼峰命名法
 */
public class MethodTest03 {
    public static void main(String[] args) {
//需求：计算两个int 类型数据的和

        //错误1：不兼容的类型：String无法转换成int
          //MethodTest03.sum("rrr",2);
        //错误2：实参和形参的列表长度不同
        //MethodTest03.sum(10,3,3);

        //(10,2)叫做参数列表，简称实参
        //形参的个数和数据类型和实参必须一一对应，类型要对应，个数也要对应
        int sum=MethodTest03.sum(10,2);
        //sum2变量可以是double类型
        //double是大容量，int是小容量，自动类型转换
        double sum2=MethodTest03.sum(10,2);
        System.out.println(sum);
    }
    public static int sum(int a,int b){  //(int a,int b)叫做形式参数列表，简称形参
        int c=a+b;
        return c; //作用是：’返回值‘，返回方法的执行结果
    }
}
